package com.yuandian.business.monitor.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yuandian.api.business_monitor.entity.E2eStudyTask;
import com.yuandian.api.business_monitor.po.E2eStudyCollect;
import com.yuandian.api.business_monitor.po.E2eStudyParam;
import com.yuandian.api.business_monitor.po.OriSample;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 说明：端到端学习任务mapper接口
 * @Author zfsn
 * @Date 2023/7/12 14:26
 */
@Mapper
public interface E2eStudyTaskMapper extends BaseMapper<E2eStudyTask> {

    /**
     * 查询原始数据
     * @param dataType 数据类型
     * @param oriIdList 原始数据id
     * @return 原始数据样本对象集
     */
    List<OriSample> queryOri(@Param("dataType") int dataType, @Param("list") List<Long> oriIdList);

    /**
     * 汇总查询
     * @param param 端到端学习请求参数
     * @return 端到端学习汇总对象集
     */
    List<E2eStudyCollect> collect(@Param("param") E2eStudyParam param);

    /**
     * 查询配置是否存在
     * @param e2eStudyCollect 端到端学习汇总对象
     * @return 大于0即为存在，小于等于0即为不存在
     */
    int queryE2eConfigExist(@Param("param") E2eStudyCollect e2eStudyCollect);

    /**
     * 同步配置给步骤端到端学习
     * @param e2eStudyCollect 端到端学习汇总对象
     */
    void sync(E2eStudyCollect e2eStudyCollect);
}
